﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace puntoyfamacs
{
    class PuntosFama
    {
        const int numCount = 4;
        private int[] M;
        private int Intentos;
        private int Puntos;
        private int Famas;

        public PuntosFama(int intentos)
        {
            this.Intentos = intentos;
            Puntos = 0;
            Famas = 0;
            M = new int[numCount];
        }

        public void Init()
        {
            Random r = new Random();
            for (int i = 0; i < M.Length; i++)
            {
                while (true)
                {
                    int temp = r.Next(0, 9);
                    if (!M.Contains(temp))
                    {
                        M[i] = temp;
                        break;
                    }
                }
            }
        }

        public void Calcular(int []a)
        {
            for (int i = 0; i < numCount; i++)
            {
                if (a[i] == M[i])
                {
                    Famas++;
                }
                else 
                {
                    for (int j = 0; j < numCount; j++)
                    {
                        if (M[j] == a[i])
                        {
                            Puntos++;
                        }
                    }
                }
            }
 
        }
        
        public void disminuirIntentos()
        {
            Intentos--;
        }
        
        public bool verificarFama()
        {
            return (Famas.Equals(numCount));
        }

        public int getFamas
        { 
            get
            { 
                return Famas;
            }
            set
            {
                Famas = value;
            }
        }

        public int getPuntos
        {
            get
            {
                return Puntos;
            }
            set 
            {
                Puntos = value;
            }
        }
        
        public int getnumCount
        {
            get
            {
                return numCount;
            }
        }
        
        public int getIntentos
        {
            get
            {
                return Intentos;
            }
        }
    }
}
